برنامه نویسی رایانهComputer Programming
•ماهیت کار
برنامه نویسان رایانه دستورالعملهائی باجزئیات کامل نوشته و آزمایش وپشتیبانی میکنند. به این دستورالعملها که رایانه برای کار کردن باید از آنها پیروی کند ، برنامه گفته میشود. کار دیگر آنها طراحی و آزمایش کردن ساختارهای منطقی برای حل کردن مسائل توسط رایانه میباشد. بسیاری از نوآوریها در زمینه برنامه نویسی مانند فن آوریهای پیشرفته محاسبه وزبانها و ابزارهای پیچیده برنامه نویسی به برنامه نویسان نقشی جدید داده و بسیاری از کارهای برنامه نویسی دنیای امروز را بوجود آورده اند. عنوان و توصیف کار آنها بسته به نوع سازمانی که درآن کار میکنند متفاوت میباشد. بنابراین ، برنامه نویس رایانه به کسی اطلاق میشود که کار اصلی وی برنامه نویسی است ، اگرچه تفاوتها درمسؤولیتها و سوابق تحصیلی بسیار گسترده است.
این برنامه نویسان هستند که به رایانه ها میگویند که چه باید بکنند. به عنوان مثال از کجا اطلاعات لازم را بگیرند ، چگونه فرایندی بر روی این اطلاعات انجام دهند و از چه تجهیزاتی استفاده کنند. برنامه ها برحسب نوع اطلاعاتی که باید استفاده یا تولید کنند متفاوت میباشند. مثلا برنامه هائی که برای به روز درآوردن اطلاعات مالی به کار میروند از آنهائی که برای شبیه سازی شرایط پرواز دریک شبیه ساز رایانه ای برای تعلیم دادن به خلبانان به کار میروند کاملا متفاوت میباشند. اگرچه برنامه های ساده را میتوان در مدت چند ساعت نوشت ، برنامه هائی که از فرمولهای پیچیده ریاضی استفاده میکنند ویا داده های خود را از سیستمهای مختلف دریافت میکنند ممکن است به یک سال کار نیاز داشته باشند. در بیشتر موارد ، چندین برنامه نویس در قالب یک تیم زیر نظر یک سرپرست برنامه نویسی کار میکنند.
برنامه نویسان برنامه ها را با توجه به خصوصیاتی که به صورت اولیه توسط مهندسین نرم افزار رایانه ویا تحلیل گران سیستم تعیین شده اند مینویسند. پس از اینکه فرایند طراحی پایان میابد ، برنامه نویسان وارد عمل شده و طرح آماده شده را به یک سری از دستورالعملهای منطقی که توسط رایانه قابل پیگیریست تبدیل میکننند. آنان سپس این دستورالعملها را به رمزهای یکی از زبانهای برنامه نویسی رایانه مانند جاوا یا سی تبدیل میکنند. بسته به هدفی که برنامه دنبال میکند ، از زبانهای برنامه نویسی متفاوتی استفاده میشود. مثلا از کوبول بیشتر برای کارهای تجاری ، از فرترن در کارهای علمی و مهندسی و از سی پلاس پلاس در هر دو مورد به شکل وسیعی استفاده میشود. برنامه نویسان عموما به بیش از یک زبان برنامه نویسی تسلط دارند و از آنجائیکه بسیاری از این زبانها به هم شبیه هستند ، آنها نسبتا به سادگی میتوانند زبانهای دیگر را نیز بیاموزند. در عمل برنامه نویسان عنوان خود را یا از برنامه ای که به آن مسلط هستند میگیرند ، مانند برنامه نویس جاوا ، ویا از نوع کار یا محیطی که درآن کار میکنند مانند برنامه نویس بانک داده ها ، برنامه نویس پردازنده مرکزی ویا برنامه نویس اینترنت.
بسیاری از برنامه نویسان ، برنامه های موجود را به روزرسانی و ترمیم میکنند ویا تغییر و گسترش میدهند. آنها وقتی در قسمتی از یک کد که به آن روتین گفته میشود تغییری میدهند ، باید کاربرها را از عملکرد جدید آن روتین آگاه کنند. این کار بوسیله گنجاندن توضیحات لازم در بین کدها انجام میشود ، بدین ترتیب دیگران میتوانند عملکرد برنامه را درک کنند. بسیاری از برنامه نویسان از ابزاهای کمک مهندسی نرم افزاررایانه ای برای خودکار سازی بسیاری از عملیات کد نویسی استفاده میکنند . این ابزارها برنامه نویس را قادر میسازند تا بر روی نوشتن قطعات منحصر به فرد برنامه متمرکز شود ، چرا که این ابزارها قطعات مختلف برنامه در حال ساخت را خودکارسازی کرده وبه جای نوشتن خط به خط ، بخشهای کاملی از کدها را خود به خود بوجود میاورند. این روش باعث بوجود آمدن برنامه هائی یکدست تر و قابل اعتمادتر نیز شده و باحذف مراحل تکراری ، توان بهره وری برنامه نویسان را بالا میبرد.
برنامه نویسان برای آزمایش برنامه ، آنرا پس از نوشتن ، اجرامیکنند تا از عملکرد صحیح آن اطمینان حاصل کنند. اگر اشتباهی دراجرای برنامه وجود داشته باشد ، برنامه نویس باید آن قسمت را تغییر داده و دوباره امتحان کند تا زمانیکه برنامه درست عمل کند. به این کار اشکال زدائی ( دیباگ ) گویند. برنامه نویسان ممکن است این عملیات اشکال زدائی را تا زمانی که از برنامه استفاده میشود (مثلا چندین سال ) ادامه دهند. آنهائی که در محیط پردازشگر مرکزی کار میکنند ممکن است دستورالعملهائی برای کاربری که از برنامه استفاده میکند تهیه کنند.
برنامه نویسان اغلب به دو دسته اصلی تقسیم میشوند. برنامه نویسان برنامه های اجرائی و برنامه نویسان سیستم. برنامه نویسان برنامه های اجرائی ، برنامه هایی برای اجرای یک کار خاص ، مثلا صورت برداری از کالاها در یک شرکت ، مینویسند. آنها ممکن است بازنگری یک نرم افزار را به عهده بگیرند. برنامه نویسان سیستم برنامه هائی برای کنترل نرم افزاری سیستمهای رایانه ای مینویسند که دراین زمینه میتوان از سیستمهای عامل ، سیستمهای شبکه و سیستمها ی بانک داده ها نام برد. گروه اخیر ، در مجموعه دستورالعملهائی که نحوه عملکرد شبکه ، ایستگاه کاری و پردازنده مرکزی سیستم را برای اجرای دستورات وارده و نحوه دسترسی به تجهیزات جانبی مانند پایانه ها ، چاپگرها و دیسک خوانها را تعیین میکنند ، تغییرات لازم را میدهند. به دلیل داشتن دانش گسترده از تمامی سیستم رایانه ، برنامه نویسان سیستم ، به برنامه نویسان برنامه های اجرائی دریافتن ریشه مشکلاتی که دربرنامه های آنها پیش میآید کمک میکنند.
برنامه نویسان شرکتهای تولید کننده نرم افزاربرای تولید نرم افزارهای سفارشی یا عمومی ، از بازیهای رایانه ای و برنامه های آموزشی گرفته تا برنامه هائی برای نشر رومیزی ، برنامه ریزی مالی ، برنامه ها ی صفحه گسترده ، با متخصصین رشته های دیگر همکاری میکنند. در بسیاری از موارد این نحوه همکاری در ایجاد بسته های نرم افزاری ، یکی از بخشهای صنعت رایانه که از بیشترین میزان رشد برخوردار است ، کاربرد دارد.
در بعضی شرکتها ، بخصوص شرکتهای کوچک ، افرادی به عنوان برنامه نویس ـ تحلیل گر هم مسؤولیت برنامه نویسی و هم تحلیل سیستم را به عهده دارند. زبانهای برنامه نویسی پیشرفته و امکانات برنامه نویسی شیء گرای جدید ، بازده کاری برنامه نویسان و کاربران را افزایش داده است. امکانات رایانه های شخصی و نرم افزارهای جدید تا حدودی مرز بین کار بر و برنامه نویس را از بین برده است. به عنوان مثال بسته های نرم افزاری جدید مانند برنامه های مدیرت صفحه گسترده و بانکهای اطلاعاتی به کاربران امکان نوشتن برنامه های ساده ای را برای دسترسی به داده ها و انجام محاسبات داده است .
•محیط کار
محیط کاری برنامه نویسان معمولا دفاتر کار راحت میباشد. بسیاری از برنامه نویسان برای تحویل به موقع پروژه ها وحل کردن مسائل مهم کاری ، مجبور به کار برای ساعتهای طولانی و اضافه کاری هستند. باتوجه به فن آوریهای روز ، ارتباط از راه دور برای بسیاری از متخصصین رایانه از جمله برنامه نویسان به صورت یک امر عادی در آمده است. با گسترش شبکه های رایانه ای ، برنامه نویسان بیشتری توانائی ارتباط با رایانه ی مشتری از راه دور را برای برطرف کردن ایرادها و مشکلات پیش آمده بدست آورده اند.
همانند بسیاری مشاغل دیگر ، برنامه نویسان نیز باید ساعتهای زیادی را جلو رایانه به تایپ کردن مشغول باشند که این کار آنها را مستعد خستگی چشم ، کمردرد و مشکلات دست و مچ دست مانند سندروم تونل کارپال میکند.
•فرصتهای شغلی
برنامه نویسان در هر صنعتی ممکن است به کار گرفته شوند اما بیشترین فرصتهای شغلی در صنعت خدمات رایانه و تحلیل داده ها که وظیفه نوشتن و فروش نرم افزارها را به عهده دارند میباشد. تعداد زیادی از برنامه نویسان نیز در شرکتهای ارائه کننده خدمات مهندسی و مدیریتی ، شرکتهای مخابراتی ، تولید کننده های رایانه و تجهیزات دفتری ، مؤسسات مالی ، شرکتهای بیمه ، مؤسسات آموزشی و ادارات دولتی به کار مشغولند.
بسیاری از برنامه نویسان رایانه به صورت موقتی و قراردادی و یا برای ارائه خدمات مشاوره ای به خدمت گرفته میشوند. مثلا یک شرکت خرید و فروش ممکن است برای راه اندازی یک سیستم جدید مدیریت سرویس دهی به مشتریان به کار چندین برنامه نویس به صورت موقت نیاز داشته باشد. این نحوه کار کردن به شرکتها اجازه میدهد تا برحسب نیاز کاریشان افرادی با تخصصهای خاص و معمولا آشنا به آخرین فن آوریها را بدون نیاز به باز آموزی کارکنان خود شرکت به کار گیرند. این قراردادها ممکن است چند هفته ای یا حتی چند ساله باشند.
•آموزش و ادامه تحصیل
آموزش برنامه نویسی در سطوح مختلفی از کلاسها ی آموزشی گرفته تا تحصیلا ت دانشگاهی انجام میشود . استخدام کنندگان معمولا به میزان دانش فرد در زبانهای برنامه نویسی توجه دارند و برنامه نویسان نیز میتوانند در یکی یا چندین زبان برنامه نویسی مانند جاوا یا سی مدرک بگیرند. برای کار یابی در صورتی که فرد مدرک نداشته باشد ، باید از تجربه کاری زیادی برخوردار باشد. حتی در مورد کسانی که مدرک برنامه نویسی دارند ، استخدام کنندگان تاکید اصلی را بر روی تجربه قبلی میگذارند.
با وجود اینکه برنامه نویسان باید با زبانهای سنتی برنامه نویسی آشنا باشند ، اما تاکید اصلی امروزه بر روی زبانهای جدید شیء گرا و نسل چهارم و پنجم زبانها که از رابط گرافیکی کاربر استفاده میکنند میباشد. استخدام کنندگان افرادی را که با تجارت و زمینه کاری آنها آشنا باشند را ترجیح میدهند.
برای برنامه نویسی سیستم که در بالا به آن اشاره شد ، دانش وسیع درباره سیستمهای عامل مختلف ضروری است. این شامل توانائی طراحی سیستم عامل برای کار با انواع مختلف سخت افزار و سازگار سازی سیستم برای برآوردن نیازهای خاص یک شرکت نیز میباشد. این برنامه نویسان باید با کار با سیستمهای پایگاه داده ها مانند اوراکل نیز آشنائی لازم را داشته باشند.
یک برنامه نویس باید توانائی تفکر به روش منطقی و توجه به جزئیات را داشته باشد. این کار نیاز به شکیبائی ، مداومت و توانائی کار تحلیلی دقیق بخصوص تحت شرایط فشار دارد. ابتکار و قدرت تخیل نیزبرای طراحی راه حلها و پیشگیری از خطاها از شروط لازم میباشند. برنامه نویسان سیستم باید توانائی کار بر روی مفاهیم انتزاعی و تحلیل فنی را داشته باشند. از انجائیکه در بسیاری موارد برنامه نویسان به صورت تیمی کار میکنند و با کاربرها سروکار دارند ، باید قادر به ارتباط برقرار کردن با کارمندان غیر فنی نیز باشند.
تازه کارها ممکن است به تنهائی بر روی یک برنامه اولیه کار کنند ویا به همراه برنامه نویسان با تجربه و به صورت تیمی به کار گرفته شوند. درهر صورت این افراد تازه کار باید تحت نظارت مستقیم حرفه ایها قرارگیرند. به علت رشد سریع فن آوری ، برنامه نویسان مجبور به شرکت در دوره های مکرر باز آموزی میباشند.
•چشم انداز آینده
بیشترین رشد در زمینه برنامه نویسی سیستم و اجرائی درآینده درزمینه های تجزیه و تحلیل داده ها ، تهیه نرم افزار و خدمات مشاوره ای رایانه خواهد بود. اما رشد برنامه نویسی نسبت به دیگر رشته های تخصصی رایانه کند تر است . با رشد سریع فن آوری ، نرم افزارهای پیچیده رایانه ای امروزه قادر به نوشتن بسیاری از کدهای پایه ای برنامه میباشند واین مسئله نیاز به برنامه نویسهای بیشتر را برای انجام اینگونه کارهای تکراری از بین برده است . پیشرفت در تولید بسته های نرم افزاری ، ابزارها و زبانهای برنامه نویسی پیشرفته و رشد توانائی کاربرها در طراحی ، نوشتن و اجرای برنامه های خاص خودشان بدین معناست که بسیاری از کارهای عملیاتی برنامه نویسی قابل انتقال به دیگر مشاغل میباشند. با بالا رفتن سطح نوآوری و پیچیدگی فنی ، برنامه نویسان با رقابت بیشتری در سطح بین المللی روبرو میشوند ، چرا که شرکتها قادر به سفارش دادن برنامه نویسی با قیمت کمتر به کشورهای دیگر میباشند.
با اهمیتی که امروزه شبکه ها و محیطهای اینترنتی پیدا کرده اند ، شرکتها به دنبال برنامه نویسانی هستند که قادر به تبادل داده ها و پیاده سازی تجارت الکترونیک و استراتژیهای اینترانت باشند. از دیگر زمینه های مورد توجه ، مولتی مدیا و برنامه نویسی مشتری/ سرویس دهنده میباشند. راز موفقیت یک برنامه نویس در آینده پیش رفتن با فن آوری روز، تبحر دربرنامه نویسی پایگاه داده ها و اینترنت و تلفیق مدرک دانشگاهی با تجربه کاری میباشد.
.::مرجع کد آهنگ::.
.::دریافت کد موزیک::.